﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComunesMGI.DataTypes;
using MGI.AccesoDatos;

namespace MGI.Logica
{
    public class MgrSistemas
    {
        #region Singleton
        /// <summary>
        /// implementación de singleton para el manejador de sistemas
        /// </summary>
        static private MgrSistemas _instance;

        /// <summary>
        /// implementación de singleton para el manejador de sistemas
        /// retorna una instancia del manejador
        /// </summary>
        /// <returns>MgrSistemas</returns>
        static public MgrSistemas getInstance()
        {
            if (_instance == null)
            {
                _instance = new MgrSistemas();
            }
            return _instance;
        }
        #endregion


        public List<DataSistema> getSistemas(DataCliente cliente)
        {
            //DataSistema sistema1 = new DataSistema("Sistema1", "sitio1", "identificador1");
            //DataSistema sistema2 = new DataSistema("Sistema2", "sitio2", "identificador2");
            //List<DataSistema> lista = new List<DataSistema>();
            //lista.Add(sistema1);
            //lista.Add(sistema2);
            //return lista;
            AccesoDatosFactory accesoDatosFactory = AccesoDatosFactory.getInstance();
            IDatosSistemas datosSistema = accesoDatosFactory.getIDatosSistemas();
            return datosSistema.getSistemas(cliente);
        }

        public bool containSistema(DataCliente cliente, DataSistema sistema)
        {
            AccesoDatosFactory accesoDatosFactory = AccesoDatosFactory.getInstance();
            IDatosSistemas datosSistema = accesoDatosFactory.getIDatosSistemas();
            return datosSistema.containSistema( cliente, sistema);
        }
    }
}
